#include <cstdio>
#include <iostream>
#include "debug.h"
#include "graph/graph.h"
using namespace std;

int main() {
    int N,M;
    N=M=3;
    err 
    std::cout<<"Testing graph ..."<<std::endl; 
    graph::adjacent_graph<int> g,g2;
    std::cout<<"First way of adding lines:"<<std::endl;
    g.addedge(1,2,1);
    g.addedge(3,1,1);
    g.addedge(1,3,1);
    cout<<"Edges of graph g"<<endl;
    g.print_edges(std::cout);
    cout<<"Input your graph ("<<N<<"X"<<M<<"):"<<endl;
    g2.read(std::cin,N,M);
    cout<<"Map g2:"<<endl;
    g2.print_map(std::cout);
    // Test search graph
    graph::explorer<int, graph::adjacent_graph<int> > e(g2);
//    while (e.bfs_until(0,graph::reached_at<int>(2))) ;
//    while (e.bfs_until(0,graph::visited_all) ) ;
    return 0;
}
